1. Field of the Invention
This invention relates to portable computing devices and, more particularly, to mechanisms and techniques to enable portable computing devices to collectively execute one or more tasks.
2. Brief Description of the Related Art
Electronic digital computational devices like smart phones, tablets, tablet PCs, laptops, netbooks, Personal Digital Assistants (PDAs), handhelds, and other portable computing devices (collectively called ‘Mobile Devices’) have become a critical part of the life of many individuals and businesses. Advances in these Mobile Devices have enabled significant computing and previously unavailable data communication capabilities. Availability and affordability of these devices is also expanding with their accompanying proliferation.
Mobile Devices have evolved considerably over the past decade and today there is an abundance of small, yet powerful wireless mobile computing devices. Many of these devices have considerable compute power. High-end PDAs and smartphones have powerful computing power along with sensors and Digital Signal Processor (DSP) capabilities. Some of the high-end Mobile Devices even include multiple processors enabling multi-processing capabilities. The future trend is to incorporate more and more powerful multi-core processors into Mobile Devices.
Along with the evolution of the computing power, communication capabilities of the mobile computing devices have also evolved. Today, most high-end mobile computing devices have decent communication capabilities of 20-40 MHz of bandwidth. It is expected that this capability will also continue to grow in the future. Newer technologies like WiMAX are promising to deliver gigahertz of bandwidth for Mobile Devices in the very near future.
The primary intent and purpose of mobile computing devices are to allow users to stay connected, with ability to perform many tasks remotely. Remote tasks include business, financial, personal, and entertainment applications. Mobile Devices of today have succeeded in their primary intent and have even exceeded the expectations of many. This has opened new possibilities beyond serving personal and business needs of individuals.
While individually these Mobile Devices are capable of serving the needs of most users, collectively they present unique computing possibilities. It is possible to use these Mobile Devices collectively to address applications that were traditionally reserved for high-end computers. Enabling Mobile Devices to work together in cluster configurations or parallel processing configurations will enable many new applications for Mobile Devices.
While mobile computing devices cannot match the compute power of supercomputers and traditional clusters of High Performance Computers (HPC), they can provide adequate power to perform some critical operations when operating collectively. In certain applications like real-time monitoring, the proximity of Mobile Devices to the subject will have a distinct advantage over high performance computers located remotely.
Along with the compute power, Mobile Devices need to have adequate communication capabilities to share tasks. Wireless networking has evolved over the past decade and today, Wireless Fidelity (Wi-Fi) has become a popular industry standard. Higher performance and more robust Worldwide Interoperability for Microwave Access (WiMAX) enables gigabits bit rates of wireless communication and is gaining popularity in high end Mobile Devices.
Wireless Local Area Network (WLAN) using Wi-Fi (IEEE standard 802.11) enables 20-40 MHz of bandwidth today while WiMAX (IEEE standard 802.16) offers a bandwidth of 1 GHz. While this does not compare to the multi-gigahertz of bandwidth available in the HPC, it is adequate for carefully architected mobile cluster systems.
Using the Wi-Fi WLAN communication capabilities, industry has developed several mechanisms to network mobile computing devices. Wi-Fi has evolved from the initial version in 1997 at 2.4 GHz frequency to version ‘n’ in 2009 at 5 GHz frequency and up to 40 MHz bandwidth with a data rate of 150 Mbit/s. More importantly, from a cluster perspective, this version extends the outdoor range to 820 ft (250 m) and supports four Multiple-Input and Multiple-Output (MIMO) streams.
MIMO is the method of utilizing multiple antennas for wireless communications. For wireless networking, MIMO technology appears in Wi-Fi technology, greatly enhancing their capability over the single-antenna counterparts. While MIMO is primarily used by Wi-Fi routers today, it can also be used by mobile computing devices for cluster configuration. MIMO Wi-Fi equipment utilizes the same network protocols and signal ranges that non-MIMO routers do. The MIMO products achieve higher performance by more aggressively transmitting and receiving data over Wi-Fi channels. MIMO signaling technology can increase network bandwidth, range, and reliability at the cost of potential interference with other wireless equipment.
Another technique available in the industry is VirtualWi-Fi. It is a virtualization architecture for WLAN cards that abstracts a single WLAN card to appear as multiple virtual WLAN cards to the user. The user can then configure each virtual card to connect to a different wireless network. VirtualWi-Fi allows a user to simultaneously connect his machine to multiple wireless networks using just one WLAN card. This feature can be used effectively in cluster systems. Virtual channels can be used as dedicated control channels and for dedicated data communication.
While the compute power and communication capabilities of Mobile Devices are adequate for performing compute intensive tasks, mechanisms to connect them effectively to harness the available resources is missing.
Industry has developed several mechanisms to connect multiple Mobile Devices. One technology used to network mobile computing devices is MANET, sometimes called a mobile mesh network. MANET is a self-configuring network of Mobile Devices connected by wireless links. Each device in a MANET is free to move independently in any direction, and will therefore change its links to other devices frequently. Each must forward traffic unrelated to its own use, and therefore, be a router. The primary challenge in building a MANET is equipping each device to continuously maintain the information required to properly route the traffic. Such networks may operate by themselves or may be connected to the larger Internet. MANETs are a kind of wireless ad hoc network that usually have a routable networking environment on top of a Link Layer. They are also a type of mesh network, but many mesh networks are not mobile or not wireless.
MANET may be compared to Local Area Networks (LAN) in desktop computer environment. Like LAN, MANET allows Mobile Devices to share data. While MANETs provides mechanisms for networking Mobile Devices, it is not a cluster mechanism. While it provides loose connectivity for Mobile Devices to communicate, but does not provide a control cluster mechanism to share tasks.
As seen, advances in semiconductor and wireless technology have resulted in powerful mobile computing devices that are compute capable as well as have decent communication capabilities. Often, these Mobile Devices are also equipped with sensors along with the DSP capabilities. While quite powerful as individual devices for personal use, they do not have the necessary capability to address complex real-time computational challenges.
There is a growing need to solve tasks involving information and decision processing in the field, close to where events are actually happening. While individual Mobile Devices cannot perform this task, it is possible to distribute the task between several such devices available in the field. It is possible to take advantage of multiple Mobile Devices present in the location in cluster configuration to perform complex computational tasks.
Despite availability of powerful devices and adequate communication capabilities, there are several barriers preventing Mobile Devices from executing high performance real-time mobile computation by sharing task with other Mobile Devices.
Some of the barriers are:                1. By nature, Mobile Devices are in motion and change their physical locations. This dynamic geographic positioning of the compute units introduces complexities into cluster systems. It poses problems for setting up reliable cluster system in a regular configuration with known neighbors.        2. Availability of any device cannot be guaranteed as devices keep moving in and out of the communication range of a potential cluster system. It poses problems for setting up reliable cluster system when devices are moving in and out of the range.        3. Availability of bandwidth is a limitation due to the limited wireless connectivity in the Mobile Devices. This causes problems for transmitting data and results between various cluster nodes.        4. Power usage is the most critical issue with any Mobile Device. The power constraints in the Mobile Device restrict the amount of computation that can be performed on a Mobile Device. As adding additional resources will increase the use of this precious commodity, it inhibits the addition of additional resources.        5. Most Mobile Devices are area constrained. Adding components to the system could be an issue.        6. Securing the communication between various devices is another issue as wireless communication is inherently insecure. Security mechanism of today, such as encryption, will not work well for Mobile Devices as they require computation demanding power.        
Surmounting these barriers is critical to enabling high compute power at the field by utilizing Mobile Devices to share tasks.
It will be advantageous to have a robust mechanism that will enable multiple Mobile Devices to work in tandem to solve computation intense problems. It will be further advantageous for the mechanism to surmount the barriers mentioned above. Preferably, the mechanism should minimize any additional demand on power, bandwidth, and area of the Mobile Devices.
It will be advantageous for the mobile cluster mechanism to be flexible to accommodate various cluster schemes. It will be further advantageous for the mechanism to provide controlled, secure environment to selectively enable qualified Mobile Devices to participate in cluster computations.